package cn.levi.path.component;

import cn.hutool.core.util.StrUtil;
import cn.hutool.core.util.URLUtil;

/**
 * 资源路径处理定义
 *
 * @author lei
 * @since 2024/11/26
 */
public interface URLPathHandler  {

	/**
	 * 获取路径，<br/>
	 * ex:String url="http://test.www/file/dev/1562.pdf?name=test",调用此方法后<br/>
	 * 返回值为：file/dev/1562.pdf
	 *
	 * @param url url待处理的资源路径
	 * @return 返回除请求host, 和请求参数的资源定位路径
	 */
	default String getPath(String url){
		if (StrUtil.isBlank(url)) {
			return url;
		}
		if (!url.startsWith("http")){
			return url;
		}
		return URLUtil.getPath(url);
	}

	/**
	 * 拼接path->url，拼接后的url可直接访问，
	 *
	 * @return
	 */
	public String concatUrlPrefix(String path);

}
